Method and system for real-time computing of origin-destination matrices relating to attendees at a public happening through analysis of mobile communication network data

ABSTRACT

A method of estimating flows of persons gathering at an Area of Interest for attending a public happening during a time interval on a day includes defining a plurality of calculated radius values of the Area of interest radius, and, for each calculated radius value: identifying a number of relevant served areas; identifying a first number of user equipment; identifying a second number of user equipment associated; computing a normalized statistical quantity by normalizing the statistical quantity with respect to the radii of the relevant served areas; computing an optimum radius value of the Area of Interest radius; identifying persons gathering for attending the public happening; computing at least one matrix accounting for movements of persons.

BACKGROUND OF THE INVENTION Field of the Invention

Traffic analysis is aimed at identifying and predicting variations in the flow (e.g., people flow, vehicular traffic flow) of physical entities (e.g., people, land vehicles) moving in a geographic region of interest (e.g., a urban area) and over a predetermined observation period (e.g., a 24 hours observation period).

A typical, but not limitative, example of traffic analysis is represented by the analysis of vehicular (cars, trucks, etc.) traffic flow over the routes of a geographic region of interest, or simply Region of Interest (RoI for short). Such analysis allows achieving a more efficient planning of the transportation infrastructure within the Region of Interest and also it allows predicting how changes in the transportation infrastructure, such as for example closure of roads, changes in a sequencing of traffic lights, construction of new roads and new buildings, can impact on the vehicular traffic.

In the following for traffic analysis it is intended the analysis of the movements of physical entities through a geographic area. Such physical entities can be vehicles (e.g., cars, trucks, motorcycles, public transportation buses) and/or individuals.

Since it is based on statistical calculations, traffic analysis needs a large amount of empirical data to be collected in respect of the Region of Interest and the selected observation period, in order to provide accurate results. In order to perform the analysis of traffic, the collected empirical data are then usually arranged in a plurality of matrices, known in the art as Origin-Destination (O-D) matrices. The O-D matrices are based upon a partitioning of both the area of interest and the observation period.

For partitioning the Region of Interest, the area is subdivided into a plurality of zones, each zone being defined according to several parameters such as for example, authorities in charge of the administration of the zones (e.g., a municipality), typology of land lots in the area of interest (such as open space, residential, agricultural, commercial or industrial lots) and physical barriers (e.g., rivers) that can hinder traffic (physical barriers can be used as zone boundaries). The size of the zones in which the region of interest can be subdivided, and consequently the number of zones, is proportional to the level of detail requested for the traffic analysis (i.e., city districts level, city level, regional level, state level, etc.).

As well, the observation period can be subdivided into one or more time slots, each time slot may be defined according to known traffic trends, such as for example peak traffic hours corresponding to when most commuters travel to their workplace and/or travel back to home. The length of the time slots (and thus their number) is proportional to the level of detail requested for the traffic analysis over the considered observation period.

Each entry of a generic O-D matrix comprises the number of physical entities moving from a first zone (origin) to a second zone (destination) of the region of interest. Each O-D matrix corresponds to one time slot out of the one or more time slots in which the considered observation period can be subdivided. In order to obtain a reliable traffic analysis, sets of O-D matrices should be computed over a plurality of analogous observation periods and should be combined so as to obtain O-D matrices with a higher statistical value. For example, empirical data regarding the movements of physical entities should be collected over a number of (consecutive or not) days (each corresponding to a different observation period), and for each day a corresponding set of O-D matrices should be computed.

O-D matrices that results to be particularly useful are O-D matrices build with respect to the formation of “crowds” i.e., a gathering of a certain number of people, gathered in a certain location for, e.g., for attending public events or happenings, public happenings of the most disparate nature, like for example (and non-exhaustively) live television shows, artistic/entertaining performances, cultural exhibitions, theatrical plays, sports contests, concerts, movies, demonstrations and so forth.

In the tasks of urban planning, management of activities (e.g., transport systems management and emergencies management), and tourism and local marketing, it is useful to have a knowledge of the how and when people moved for gathering at certain locations or Areas of Interests (AoI for short, e.g., a building, such as for example a stadium or a theatre or a cinema, the surroundings thereof, a square or a street(s) of a city or town or village, a district etc., generally smaller than the Region of Interest considered for building the O-D matrices), e.g. because they attended public happenings like shows or events (e.g., related to culture, entertaining, politics or sports) that took place within the Area of Interest.

In facts, this knowledge allows building O-D matrices referred to persons that have attended to a public happening, which allows an insight of mobility issues and more effective planning of subsequent public happenings of the same type. Particularly, this knowledge allows a more effective planning and managing of resources and activities (such as infrastructures, transport system and security) directly or indirectly related to similar public happenings that may take place in the future (such as for example sports matches that regularly take place at a stadium). Moreover, from a commercial viewpoint, this knowledge allows a better management of marketing activities intended to promote similar events that may take place in the future.

Overview of the Related Art

A typical method for collecting empirical data used to compute O-D matrices related to a specific area of interest is based on submitting questionnaires to, or performing interviews with inhabitants of the Region of Interest and/or to inhabitants of the neighboring areas about their habits in relation to their movements, and/or by installing vehicle count stations along routes of the region of Interest for counting the number of vehicles moving along such routes. The Applicant has observed that this method has very high costs and it requires a long time for collecting a sufficient amount of empirical data. Due to this, O-D matrices used to perform traffic analysis are built seldom, possibly every several years, and become out-of-date.

In the art, several alternative solutions have been proposed for collecting empirical data used to compute O-D matrices. For example, U.S. Pat. No. 5,402,117 discloses a method for collecting mobility data in which, via a cellular radio communication system, measured values are transmitted from vehicles to a computer. The measured values are chosen so that they can be used to determine O-D matrices without infringing upon the privacy of the users.

In Chinese Patent Application No.102013159 a number plate identification databased area dynamic origin and destination (OD) data acquiring method is described. The dynamic OD data is the dynamic origin and destination data, wherein O represents origin and D represents destination. The method comprises the steps of: dividing OD areas according to requirements, wherein the minimum time unit is 5 minutes; uniformly processing data of each intersection in the area every 15 minutes by a traffic control center; detecting number plate data; packing the number plate identification data; uploading the number plate identification data to the traffic control center; comparing a plate number with an identity (ID) number passing through the intersections; acquiring the time of each vehicle passing through each intersection; acquiring the number of each intersection in the path through which each vehicle passes from the O point to the D point by taking the plate number as a clue; sequencing the intersections according to time sequence and according to the number of the vehicles which pass through between the nodes calculating a dynamic OD data matrix.

WO 2007/031370 relates to a method for automatically acquiring traffic inquiry data, e.g. in the form of an O-D matrix, especially as input information for traffic control systems. The traffic inquiry data are collected by means of radio devices placed along the available routes.

Nowadays, mobile phones have reached a thorough diffusion among the population of many countries, and mobile phone owners almost always carry their mobile phone with them. Since mobile phones communicate with a plurality of base stations of the mobile phone networks, and each base station operates over a predetermined geographic area (or cell) which is known to the mobile phone network, mobile phones result to be optimal candidates as tracking devices for collecting data useful for performing traffic analysis. For example, N. Caceres, J. Wideberg, and F. Benitez “Deriving origin destination data from a mobile phone network”, Intelligent Transport Systems, IET, vol. 1, no. 1, pp. 15-26, 2007, describes a mobility analysis simulation of moving vehicles along a highway covered by a plurality of GSM network cells. In the simulation the entries of O-D matrices are determined by identifying the GSM cells used by the mobile phones in the moving vehicles for establishing voice calls or sending SMS.

US 2006/0293046 proposes a method for exploiting data from a wireless telephony network to support traffic analysis. Data related to wireless network users are extracted from the wireless network to determine the location of a mobile station. Additional location records for the mobile station can be used to characterize the movement of the mobile station: its speed, its route, its point of origin and destination, and its primary and secondary transportation analysis zones. Aggregating data associated with multiple mobile stations allows characterizing and predicting traffic parameters, including traffic speeds and volumes along routes.

In F. Calabrese, F. Pereira, G. Di Lorenzo, L. Liu, C. Ratti, “The geography of taste: analyzing cell-phone mobility and social events”, in Proceedings of the 8th International Conference, Pervasive Computing 2010, Helsinki, Finland, May 17-20, 2010, Lecture Notes in Computer Science Volume 6030, 2010, pp 22-37, discloses an analysis of crowd mobility during special events. Nearly 1 million cell-phone traces have been analyzed and their destinations have been associated with social events. It is observed that the origins of people attending an event are strongly correlated to the type of event, with implications in city management, since the knowledge of additive flows can be a critical information on which to take decisions about events management and congestion mitigation.

SUMMARY OF THE INVENTION

The Applicant has observed that, generally, methods and systems known in the art provide unsatisfactory results, as they are not able to determine (or have a limited ability in determining) whether a UE owner has moved to/from an Area of Interest (AoI) where a happening is being held, for attending thereat or for other reasons (for example, because the UE owner resides or has a business in proximity of, or within, the Area of Interest). In addition, the results provided by the known solutions are strongly influenced by the size of the Area of Interest selected for identifying the movements and subsequently computing O-D matrices related to the public happening. In other words, if the Area of Interest has a large size, the movement of a certain number of UE owners that are attending the public happening will be taken into account in the computing of O-D matrices of movements related to such public happening. Conversely, if the Area of Interest has small size, the movements of a certain number of UE owners that are attending the public happening will be excluded from the computing of the O-D matrices of movements related to such public happening.

Therefore, subsequent planning and managing of resources and activities (of the type mentioned above) based on O-D matrices obtained by the methods and systems known in the art will achieve a limited efficiency due to the limited accuracy thereof.

The Applicant has thus coped with the problem of devising a system and method adapted to overcome the problems affecting the prior art solutions.

The Applicant has designed an adaptive method for identifying the movements of UE owners that are attending the public happening and for computing O-D matrices related to such movements.

The Applicant has found that it is possible to determine the size of an optimal Area of Interest on the basis of operational information related to UE during the course of the public happening and in a certain number of days preceding the public happening.

Particularly, one aspect of the present invention proposes a method of estimating flows of persons gathering at an Area of Interest for attending a public happening S during a time interval [Ts, Te] on a day g. Said Area of Interest is defined by an Area of Interest center C and an Area of Interest radius Ra and is covered by a mobile telecommunication network having a plurality of communication stations each of which is adapted to manage communications of user equipment in one or more served areas in which the mobile telecommunication network is subdivided. The method comprising the steps of: a) defining a plurality of calculated radius values Rk of the Area of interest radius Ra, and, for each calculated radius value Rk: b) identifying a number of relevant served areas among the served areas comprised in the Area of Interest; c) identifying a first number Uk of user equipment associated with at least one event record er_(v) of a corresponding event e_(v) of interaction occurred between the user equipment and the mobile communication network during the time interval [Ts, Te] on the day g of the public happening S within the Area of Interest; d) identifying a second number Upk of user equipment associated with at least one event record er_(v)′ of a corresponding event e_(v)′ of interaction occurred between the user equipment and the mobile communication network during the time interval [Ts, Te] for each one of a predetermined number P of previous days gp preceding the day g of the public happening S within the Area of Interest; e) combining the first number Uk of user equipments and the second numbers Upk of user equipments for obtaining a statistical quantity Zk; f) computing a normalized statistical quantity Z′k by normalizing the statistical quantity Zk with respect to the radii of the relevant served areas; g) computing an optimum radius value Ro of the Area of Interest radius Ra as the average of the calculated radius values Rk weighted by the normalized statistical quantity Z′k; h) identifying persons gathering for attending the public happening S within an Area of Interest having the Area of Interest radius Ra equal to the optimum radius values Ro during the time interval [Ts, Te] on the day g within the Area of Interest based on a first time fraction f1 indicating a probability that the user equipment has been in the Area of Interest during the time interval [Ts, Te] on the day g and on a second time fraction f2 indicating a probability that the user equipment has been in the Area of Interest during the previous days gp for each user equipment identified at step b); i) computing at least one matrix accounting for movements of persons identified at step h) within a Region of Interest comprising the Area of Interest to the Area of Interest during at least one observation time period TP comprising the time interval [Ts, Te].

Preferred features of the present invention are set forth in the dependent claims.

In one embodiment of the present invention, the step i) of computing at least one matrix accounting for movements of persons identified at step h) within a Region of Interest comprising the Area of Interest to the Area of Interest during at least one observation time period TP comprising the time interval [Ts, Te], comprises: j) subdividing the Region of Interest into at least two zones z_(q); associating a first zone z_(h) of the at least two zones z_(q) with the Area of Interest, the first zone z_(h) comprising at least partially the Area of Interest; l) subdividing the at least one time period TP into one or more time slots ts_(m) and m) identifying a number of persons that moved from a second zone z₀ of the at least two zones z_(q) to the first zone z_(h) comprising at least partially the Area of Interest during each one of the one or more time slots ts_(m) of the at least one observation time period TP.

In one embodiment of the present invention, the step m) of identifying a number of persons that moved from a second zone z₀ of the at least two zones z_(q) to the first zone z_(h) comprising at least partially the Area of Interest during each one of the one or more time slots ts_(m) of the at least one observation time period TP, comprises: identifying as the second zone z₀ as the zone of the Region of Interest that comprises a previous position p₀ associated with a previous event record er₀ of a corresponding previous event e₀ of interaction occurred between the user equipment and the mobile communication network during the observation time period TP on the day g within the Region of interest, the previous event record er₀ being recorded before a first event record er_(f) of a corresponding first event e_(f) of interaction occurred between the user equipment and the mobile communication network during the time interval [Ts, Te] on the day g within the Area of Interest.

In one embodiment of the present invention, the step h) of computing at least one matrix accounting for movements of persons identified at step h) within a Region of Interest comprising the Area of Interest to the Area of Interest during at least one observation time period TP comprising the time interval [Ts, Te], further comprises: n) computing an origin matrix for each one of the one or more time slots ts_(m) in which the at least one time period TP has been subdivided, each entry od(0, h) of the origin matrix being indicative of the number of persons that, during the corresponding time slot ts_(m) moved to the first zone z_(h) comprising at least partially the Area of Interest from the second zone z₀ of the at least two zones z_(q).

In one embodiment of the present invention, the step n) of computing an origin matrix for each one of the one or more time slots ts_(m) in which the at least one time period TP has been subdivided, each entry od(0, h) of the origin matrix being indicative of the number of persons that, during the corresponding time slot ts_(m) moved to the first zone z_(h) comprising at least partially the Area of Interest from the second zone z₀ of the at least two zones z_(q), comprises: increasing a value of the entry od(0, h) indicative of persons that moved from the second zone z₀ of the at least two zones z_(q) to the first zone z_(h) comprising at least partially the Area of Interest of the origin matrix associated with a time slot ts_(m) comprising a previous time data td₀ associated with the previous event record er₀.

In one embodiment of the present invention, the step n) of computing an origin matrix for each one of the one or more time slots ts_(m) in which the at least one time period TP has been subdivided, each entry od(0, h) of the origin matrix being indicative of the number of persons that, during the corresponding time slot ts_(m) moved to the first zone z_(h) comprising at least partially the Area of Interest from the second zone z₀ of the at least two zones z_(q), comprises: increasing a value of the entry od(0, h) indicative of persons that moved from the second zone z₀ of the at least two zones z_(q) to the first zone z_(h) comprising at least partially the Area of Interest of the origin matrix associated with a time slot ts_(m) comprising a first time data td_(f) associated with the first event record er_(f).

In one embodiment of the present invention, the step n) of computing an origin matrix for each one of the one or more time slots ts_(m) in which the at least one time period TP has been subdivided, each entry od(0, h) of the origin matrix being indicative of the number of persons that, during the corresponding time slot ts_(m) moved to the first zone z_(h) comprising at least partially the Area of Interest from the second zone z₀ of the at least two zones z_(q), comprises: identifying a movement time interval [td₀, td_(f)] delimited by a previous time data td₀ associated with the previous event er₀ record of the corresponding previous event e₀ and a first time data td_(f) associated with the first event record er_(f) of the corresponding first event e_(f), and increasing a value of the entry od(0, h) indicative of persons that moved from the second zone z₀ of the at least two zones z_(q) to the first zone z_(h) comprising at least partially the Area of Interest of the origin matrices associated with time slots ts_(m) at least partially comprised in the movement time interval [td₀, td_(f)].

In one embodiment of the present invention, the step h) of identifying persons gathering for attending the public happening S within an Area of Interest having the Area of Interest radius Ra equal to the optimum radius values Ro during the time interval [Ts, Te] on the day g within the Area of Interest based on a first time fraction f1 indicating a probability that the user equipment has been in the Area of Interest during the time interval [Ts, Te] on the day g and on a second time fraction f2 indicating a probability that the user equipment has been in the Area of Interest during the previous days gp for each user equipment identified at step b), comprises: estimating a probability pu that each person is attending the public happening S, for each person associated with a respective user equipment of the first number Uk identified at step c), based on the first time fraction f1 and the second time fraction f2.

In one embodiment of the present invention, the step m) of identifying a number of persons that moved from a second zone z₀ of the at least two zones z_(q) to the first zone z_(h) comprising at least partially the Area of Interest during each one of the one or more time slots ts_(m) of the at least one observation time period TP, comprises: computing the number as a combination of the probabilities pu of each persons that moved from a second zone z₀ of the at least two zones z_(q) to the first zone z_(h) comprising at least partially the Area of Interest during each one of the one or more time slots ts_(m) of the at least one observation time period TP is attending the public happening.

In one embodiment of the present invention, the step j) of subdividing the Region of Interest into at least two zones z_(q), comprises: subdividing the Region of Interest into a plurality of zones z_(q), and wherein the step m) of identifying a number of persons that moved from a second zone z₀ of the at least two zones z_(q) to the first zone z_(h) comprising at least partially the Area of Interest during each one of the one or more time slots ts_(m) of the at least one observation time period TP, comprises: identifying a number of persons that moved from each zone of the plurality of zones z_(q) to the first zone z_(h) comprising at least partially the Area of Interest during each one of the one or more time slots ts_(m) of the at least one observation time period TP.

Another aspect of the present invention proposes a system coupled with a wireless telecommunication network for estimating flows of persons gathering at an Area of Interest. The system comprises: a computation engine adapted to process data retrieved from a mobile telephony network; a repository adapted to store data regarding interactions between the user equipment and the mobile telephony network, computation results generated by the computation engine and, possibly, any processing data generated by and/or provided to the system, and an administrator interface operable for modifying parameters and/or algorithms used by the computation engine and/or accessing data stored in the repository. The system further comprises a memory element storing a software program product configured for implementing the method above through the system.

In one embodiment of the present invention, the system further comprises at least one user interface adapted to receive inputs from, and to provide output to a user of the system, the user comprising one or more human beings and/or one or more external computing systems subscriber of the services provided by the system.

BRIEF DESCRIPTION OF THE DRAWINGS

These and others features and advantages of the solution according to the present invention will be better understood by reading the following detailed description of an embodiment thereof, provided merely by way of non-limitative example, to be read in conjunction with the attached drawings, wherein:

FIG. 1 is a schematic representation of a system for identifying movements and for computing O-D matrices related to a public happening according to an embodiment of the present invention;

FIGS. 2A-2E are exemplary shapes in which the cells of the mobile communication network may be modeled according to an embodiment of the present invention;

FIGS. 3A-3E are exemplary shapes that the AoI to be determined may take according to an embodiment of the present invention;

FIGS. 4A-4D are relevant cells among the cells of the mobile communication network with respect to the AoI according to an embodiment of the invention, and

FIG. 5 is a schematic view of a geographic region of interest for performing a traffic analysis of physical entities (e.g., vehicles), the geographic area of interest being subdivided into a plurality of zones;

FIG. 6 shows a generic O-D matrix related to the geographic region of interest RoI of FIG. 5, corresponding to a certain time slot of an observation period;

FIG. 7 shows a generic O-D sub-matrix obtained from the O-D matrix of FIG. 6, denoted to as Origin matrix, which comprises the movements of UE owners from zones of the RoI to the AoI;

FIG. 8 shows a set of O-D matrices, of the type shown in FIG. 6, each referred to a respective one of a plurality of time slots making up the observation period, and used for performing a traffic analysis;

FIG. 9 shows a set of Origin matrices, of the type shown in FIG. 7, corresponding to a respective plurality of time slots making up the observation period, and used for performing the traffic analysis;

FIGS. 10A-10F are a schematic flowchart an algorithm for identifying movements and O-D matrices computation referred to a public happening according to an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The Applicant has designed an adaptive method for identifying the movements (or flows) of User Equipments, UE in the following (e.g. a mobile phone, a smartphone, a tablet with 2G-3G-4G connectivity, etc.), that are attending a public happening and for computing O-D matrices related to such movements.

The method according to the present invention allows identifying which is an optimal area of the public happening considered that is used as starting point for identifying persons who are attending to the public happening and for identifying their movement before.

Such an optimal area will depend on the place where the public happening is being held (e.g., a stadium, a square, a theatre etc.) but also on the kind of public happening (e.g., sport match, concert, theatrical play etc.).

In order to correctly identifying the movements of the persons that are attending the public happening, and excluding persons that lives or that usually spend time in the neighborhood of the place where the public happening is being held (which could be identified and their movements tracked as well by slightly modifying the method according to the present invention), an “influence area” or Area of Interest for the public happening has to be determined first.

For example, let be assumed that the place where the public happening is being held is a circumference featuring a center and a radius, firstly it is needed to determine an optimal value for the radius, and then it is possible to determine a set of served areas of a wireless communication network influenced by the public happening, i.e. which served areas are receiving the (phone) data traffic (where ‘data’ is referred to any information exchanged between the UE and a mobile communication network serving it, such as for example voice traffic SMS/MMS traffic, Internet traffic, operating data exchanged for managing communications etc.) associated with the UE owned by persons that are attending to the public happening.

For example, let it be considered a stadium in which two sport matches are held: the first sport match gathers 10000 attendee, while the second sport matches, being more interesting, gathers 30000 attendees. During the second match the (phone) data traffic will be greater than in the first sport match, and, in order to fulfill all the (phone) data traffic a greater number of served areas needed with respect to the served areas involved during the first sport match. Therefore the area of the second sport match is presumably greater than the area of the first sport match. The method according to the present invention is able to identify the served areas of the wireless network effectively involved in serving the UE owned by the attendee in both the first and second sport matches.

The method according to the present invention described in the following allows identifying the movements in real time, e.g. represented in the form of the so-called Origin Destination matrices, of those persons that are attending the public happening being held at a given place. The same method according to an embodiment of the invention may be used without the need of substantial changes for identifying movements of persons that are visiting a predetermined Point of Interest (e.g., a museum).

The method according to the present invention described in the following, exploits information of UE owned by the persons that are attending the public happening, such as for example CDR (Call Detail Record) and/or VLR (Visitor Location Register), which are known to the provider of the wireless communication network which serves the UE. Such information mainly comprises position-time pairs associated to any interaction between the UE and the wireless communication network (the position substantially corresponding to the served area of the wireless communication network where the UE is located at the moment of the interaction).

In the following, reference will be made substantially only to a wireless communication network for telephony services and to the CDR, even though any position-time pair information may be exploited by the method according to the present invention without requiring any substantial change. For example, the method may exploit information provided by ‘short range’ wireless communication networks, such as for example Wireless Local Area Networks (WLAN), Bluetooth-based networks and/or other network capable of providing position information such as for example the Global Positioning System (GPS).

With reference to the drawings, FIG. 1 is a schematic representation of a system for identifying movements and for computing O-D matrices related to a public happening, simply denoted as system 100 hereinafter, according to an exemplary embodiment of the present invention.

The system 100 allows performing an estimation of movements, and thus allows computing corresponding O-D matrices, of people that are attending the public happening, such public happening may belong to the most disparate nature, like for example (and non-exhaustively) live television shows, artistic/entertaining performances, cultural exhibitions, theatrical plays, sports contests, concerts, movies, demonstrations and so forth.

The system 100 is coupled to a mobile communication network 105, such as a (2G, 3G, 4G or higher generation) mobile telephony network, and is configured for receiving from the mobile communication network 105 positioning data of each UE of individuals located in a geographic Area of Interest, AoI in brief, schematized in FIG. 1 as the area within the dash-and-dot line 107 (e.g., a building, such as for example a stadium or a theatre or a cinema, the surroundings thereof, a square or a street(s) of a city or town or village, a district etc.).

The AoI 107 (further described in the following) may generally comprise a core place (e.g., a stadium, a theater, a city square and so on) where the public happening is taking place and, possibly, surroundings (e.g., nearby parking lots, nearby streets, nearby transport stations and so forth) of the core place.

The mobile communication network 105 comprises a plurality of (two or more) communication stations 105 a (e.g., radio base stations of the mobile telephony network) geographically distributed through the AoI 107. Each communication station 105 a is adapted to manage communications of UE (not shown, such as for example mobile phones) in one or more served areas or cells 105 b (in the example at issue, three cells are served by each communication station 105 a) as will be discussed in greater detail below.

Even more generally, each communication station 105 a of the mobile communication network 105 is adapted to interact with any UE located within one of the cells 105 b served by such communication station 105 a (e.g., interactions at power on/off, at location area update, at incoming/outgoing calls, at sending/receiving SMS and/or MMS, at Internet access etc.). Such interactions between UE and mobile communication network 105 will be generally denoted as events e_(v) (v=1, . . . , V; where V is an integer) in the following.

The system 100 comprises a computation engine 110 configured to be adapted to process data retrieved from the mobile communication network 105, and a repository 115 (such as a database, a file system, etc.) configured to be adapted to store data regarding interactions between the UE and the mobile communication network 105, computation results generated by the computation engine 110 and, possibly, any processing data generated by and/or provided to the system 100 (generally in a binary format). The system 100 is provided with an administrator interface 120 (e.g., a computer) configured and operable for modifying parameters and/or algorithms used by the computation engine 110 and/or accessing data stored in the repository 115.

Preferably, the system 100 comprises one or more user interfaces 125 (e.g., a user terminal, a software running on a remote terminal connected to the system 100) adapted to receive inputs from, and to provide output to a user of the system 100. The term “user of the system” as used in the present disclosure may refer to one or more human beings and/or to external computing systems (such as a computer network, not shown) of a third party being subscriber of the services provided by the system 100 and enabled to access the system 100—e.g., under subscription of a contract with a service provider owner of the system 100, and typically with reduced right of access to the system 100 compared to the right of access held by an administrator of the system 100 operating through the administrator interface 120.

It should be appreciated that the system 100 may be implemented in any known manner; for example, the system 100 may comprise a single computer, or a network of distributed computers, either of physical type (e.g., with one or more main machines implementing the computation engine 110 and the repository 115, connected to other machines implementing administrator and user interfaces 120 and 125) or of virtual type (e.g., by implementing one or more virtual machines in a computer network).

The system 100 is adapted to retrieve (and/or receive) an event record er_(v) for each event e_(v) occurred between a UE and the mobile communication network 105 (through one of its communication stations 105 a) within the AoI 107. Preferably, each event record er_(v) retrieved by the system 100 from the mobile communication network 105 comprises—in a non-limitative manner—an identifier of the UE that is involved in the corresponding event e_(v) (e.g., the UE identifier may be selected as one or more among the International Mobile Equipment Identity—IMEI, the International Mobile Subscriber Identity—IMSI and the Mobile Subscriber ISDN Number—MSISDN code), time data (also denoted as timestamps) indicating the time at which the corresponding event e_(v) has occurred, and UE geographical position data, e.g. spatial indications based on the cell 105 b in which the UE is located at the time of occurrence of the corresponding event e_(v).

In one embodiment of the present invention, the UE identifier of the UE involved in the event record er_(v) may be provided as encrypted information in order to ensure the privacy of the UE owner. Anyway, if the need arises, the encrypted information (i.e., the identity of the owner of the UE corresponding to the UE identifier) may be decrypted by implementing a suitable decryption algorithm, such as for example the algorithm SHA256 described in “Secure Hash Standard (SHS)”, National Institute of Standards and Technology FIPS—180-4, Mar. 06, 2012.

The system 100 may retrieve (and/or receive) the event records er_(v) related to a generic UE from the mobile communication network 105 by acquiring records of data generated and used in the mobile communication network 105. For example, in case the mobile communication network 105 is a GSM network, Charging Data Records (CDR), also known as call data records, and/or Visitor Location Records (VLR) may be retrieved from the mobile communication network 105 and re-used as event records er_(r). The CDR is a data record (usually used for billing purposes by a mobile telephony service provider operating through the mobile communication network 105) that contains attributes specific to a single instance of a phone call or other communication transaction performed between a UE and the mobile communication network 105. The VLR are databases listing UE that have roamed into the jurisdiction of a Mobile Switching Center (MSC, not shown) of the mobile communication network 105, which is a management element of the mobile communication network 105 managing events over a plurality of communication stations 105 a. Each communication station 105 a in the mobile communication network 105 is usually associated with a respective VLR.

Conversely, if the mobile communication network 105 is a LTE network, records of data associated with the event records er_(v) of a generic UE are generated by a Mobility Management Entity, or MME, comprised in the mobile communication network 105, which is responsible for a UE tracking and paging procedure in LTE networks (where no VLR is implemented).

It should be noted that the method described in the present disclosure may be implemented by using any source of data (e.g., provided by one or more WiFi networks) from which it is possible to obtain event records er_(v) comprising a univocal identifier of individuals (such as the UE identifier mentioned above), a position indication of such individuals, and a time indication of an instant during which such event has occurred.

In operation, event records er_(v) may be continuously retrieved by the system 100 from the mobile communication network 105. Alternatively, event records er_(v) may be collected by the system 100 periodically, e.g. for a predetermined time period (e.g., every certain number of hours, on a daily or weekly basis). For example, event records er_(v) may be transferred from the mobile communication network 105 to the system 100 as they are generated, in a sort of “push” modality, or event records er_(v) may be collected daily in the mobile communication network 105 and then packed and transferred to the system 100 periodically or upon request by the system 100.

The event records er_(v) retrieved from the mobile communication network 105 are stored in the repository 115, where they are made available to the computation engine 110 for processing. Preferably, event records er_(v) generated by a same UE are grouped together in the repository 115, i.e. event records er_(v) are grouped together if they comprise a common UE identifier and are denoted to as event records group erg_(l) (e.g., l=0, . . . , L, L≧0) hereinafter.

Preferably, the computation engine 110 processes an algorithm for identifying and analyzing the traffic flows of people (described in the following) implemented by a software program product stored in a memory element 110 a of the system 110, comprised in the computation engine 110 in the example of FIG. 1, even though the software program product could be stored in the repository 115 as well (or in any other memory element provided in the system 100).

Even more preferably, the event records er_(v) are processed (as discussed in detail below) according to instructions provided by the system administrator (through the administrator interface 120), for example stored in the repository 115, and, possibly, according to instructions provided by a user (through the user interface 125). Finally, the computation engine 110 provides the results of the processing performed on the event records er_(v) to the user through the user interface 125, and optionally stores such processing results in the repository 115.

Turning now to FIGS. 2A-2E, they are exemplary shapes in which the cells 105 b of the mobile communication network 105 may be modeled according to an embodiment of the present invention.

For the purposes of the present invention, each cell 105 b of the mobile communication network 105 may be modeled as an area (as shown in FIG. 2A) having a respective cell center B (not necessarily corresponding to a geographic position of the communication station 105 a) and a respective cell radius Rc, that encloses an effectively served area (not shown) served by the corresponding communication station 105 a (e.g., an area in which each point is reached by radio-signals transmitted by the communication station 105 a). Alternatively, the cell radius Rc may correspond to the radius of a circumference that encloses a substantial part of the effectively served area, such as the 85% or more of the effectively served area, such as for example the 90%, of the effectively served area.

It should be noted that the cells 105 b are not limited to a disc-like shape, in facts, the cells 105 b may have the shape of a, preferably regular, polygon. In this case, the cell center B corresponds to a center of mass (or centroid) of the polygon, while the cell radius Rc corresponds to a segment adjoining the center of mass of the polygon, i.e. the cell center B, with a vertex of the polygon (as shown in FIGS. 2B and 2D) or with a midpoint of a side of the polygon (as shown in FIGS. 2C and 2E).

The effectively served area, and therefore the cell radius Rc, may be defined by means of well-known network planning software tools used by a provider of the mobile communication network 105, or may be computed on the basis of (omnidirectional or directional, such as with 120° radiation angles) antennas radiation diagrams and simple radiation models such as for example the ones described in Theodore S. Rappaport, “Wireless Communications”, Prentice Hall, 1996.

Alternatively, the mobile communication network 105 may be modeled by means of a Voronoi tessellation diagram, in which each Voronoi cell corresponds to a cell 105 b of the mobile communication network 105 (since Voronoi tessellation diagrams are well known in the art, they are not discussed further herein).

Preferably, the modeling, the list and the number of cells 105 b of the mobile communication network 105 are inputted to the system 100 by the administrator through the administrator interface 120.

In the solution according to an embodiment of the present invention, the system 100 is adapted to identify whether individuals are attending to the public happening being held within the AoI 107 based on events e_(v) generated by an interaction between the UE and the mobile communication network 105 serving such UE within the AoI 107.

Turning now to FIGS. 3A-3E, they are exemplary shapes that the AoI 107 to be determined may take according to an embodiment of the present invention.

Generally, the AoI 107 for the public happening may be modeled as an area having an AoI center C and an AoI radius Ra. For example, the AoI 107 may be delimited by a circumference centered in the AoI center C and having the AoI radius Ra as circumference radius (as shown in FIG. 3A).

It should be noted that the AoI 107 may have shapes different from the circumference. For example, the AoI 107 may have the shape of a, preferably regular, polygon. In this case, the AoI center C corresponds to a center of mass (or centroid) of the polygon, while the AoI radius Ra corresponds to a segment adjoining the center of mass of the polygon with a vertex of the polygon (as shown in FIGS. 3B and 3D) or with a midpoint of a side of the polygon (as shown in FIG. 3C and 3E) in a similar way as for the cells 105 b modeling discussed above.

The AoI center C may be set (e.g., by a user through the user interface 125 or by a system administrator through the administrator interface 120) as a (geographical) central point of the AoI 107 (e.g., a geographical central point of the core place), as an address of the core place of the public happening, as a point provided by a mapping software, such as web mapping services (e.g., Google maps™, OpenStreetMap™, etc.).

As will be described in more detail in the following, the AoI radius Ra may take zero or negative value along with positive values. In case the AoI radius Ra takes zero or negative value, the AoI 107 is limited to the AoI center C (i.e., the core place of the public happening).The meaning of zero or negative values for the AoI radius Ra will be further clarified by reference to such zero or negative values in the embodiment described below.

The algorithm described in the following is configured to determine an optimum radius value Ro for the AoI radius Ra of the AoI 107. In one embodiment of the invention, the optimum radius value Ro is determined by means of iterative steps starting from a minimum radius value Rmin to a maximum radius value Rmax (as described hereinbelow). Preferably, the minimum radius value Rmin and the maximum radius value Rmax are set by the administrator of the system 100 through the administrator interface 120.

In an embodiment of the present invention, on the basis of statistical analysis of empirical data regarding a plurality of past public happenings the minimum radius value Rmin is set equal to −1500 m (Rmin=−1500 m), while the maximum radius value Rmax is set equal to 1500 m (Rmax=1500 m).

Having defined the shape of the cell 105 b of the mobile communication network 105 and the shape of the AoI 107, the concept of relevant cell, i.e., a cell 105 b of the mobile communication network 105 that is considered at least partially belonging to the AoI 107 according to an embodiment of the invention will be now be introduced.

FIGS. 4A-4D are relevant cells 405 a-d among the cells 105 b of the mobile communication network 105 with respect to the AoI 107 according to an embodiment of the invention.

In one embodiment of the invention, given the AoI 107 having the AoI center C and the generic cell 105 b having the cell center B and the cell radius Rc, the generic cell 105 b may be considered a relevant cell 405 a-d for the AoI 107 if the following inequality is verified:

Dist(C, B)≦|Rc+Ra|,   (1)

where Dist(C, B) is the geographical distance between the AoI center C and the cell center B.

According to the value of the AoI radius Ra of the AoI 107, inequality (1) may take three different meanings.

Namely, if the AoI radius Ra of the AoI 107 is greater than zero (i.e., Ra>0), inequality (1) reduces to:

Dist(C, B)≦(Rc+Ra),   (2)

and the generic cell 105 b is considered a relevant cell (such as the case of relevant cell 405 a in FIG. 4A) for the AoI 107 having an AoI radius Ra greater than zero if the area of the AoI 107 and the generic cell 105 b are at least partially superimposed (even if the AoI center C fall outside the generic cell 105 b).

If the AoI radius Ra of the AoI 107 is equal to zero (i.e., Ra=0) the inequality (1) reduces to:

Dist(C, B)≦Rc,   (³)

and the generic cell 105 b is considered a relevant cell (such as the case of relevant cells 405 b and 405 c in FIGS. 4B and 4C) for the AoI 107 having an AoI radius Ra equal to zero if the AoI center C of the AoI 107 is comprised in the generic cell 105 b.

Finally, if the AoI radius Ra of the AoI 107 is smaller than zero (i.e., Ra<0) the generic cell 105 b is considered a relevant cell (such as the case of relevant cell 405 d in FIG. 4D) for the AoI 107 having an AoI radius Ra smaller than zero if the AoI center C of the AoI 107 is comprised within the generic cell 105 b at a distance from the cell center B equal to or smaller than Rc−|Ra|.

A generic public happening S, apart from being held at a specific location (i.e., the AoI 107), has a start time Ts and an end time Te. Consequently, for the purposes of the present invention the generic public happening S has a relevant duration equal to an observation time interval [Ts, Te] (i.e., a time interval that starts at the start time Ts and ends at the end time Te, lasting for Te−Ts time units, e.g. seconds, minutes or hours).

Both the start time Ts and the end time Te may be defined so as to correspond to the official (officially announced) start and end times scheduled for that generic public happening S. Nevertheless, the Applicant has observed that by anticipating the start time Ts with respect to the official start time of the generic public happening S it is possible to take into account the fact that people (i.e., UE owners that attend at the generic public happening S) arrive at the AoI 107 before the official start time of the generic public happening S, which may be useful for collecting data about a trend in time of a flow of attendees arriving at the generic public happening S. For example, on the basis of empirical data of previous public happenings, the Applicant has found that the start time Ts may be usefully anticipated to60 minutes before the official start time of the generic public happening S in order to take into account the trend of attendees arriving at the generic public happening S.

Similarly, the Applicant has observed that the end time Te may be delayed with respect to the official end time of the generic public happening S in order to take into account the fact that people leave the AoI 107 after the official end time of the generic public happening S, which may be useful for collecting data about a trend in time of a flow of attendees leaving the generic public happening S. For example, on the basis of empirical data of previous public happenings, the Applicant has found that the end time Ts may be usefully delayed by 30 minutes after the official end time of the generic public happening S in order to take into account the trend of attendees leaving the generic public happening S.

Anyway, the administrator through the administrator interface 120, and/or the user through the user interface 125, may set any custom start time Ts and end time Te for the generic public happening S. For example, the start time Ts and the end time Te may be set in order to define the observation time interval [Ts, Te] shorter than the effective duration of the generic public happening S (i.e., shorter than the duration of the whole generic public happening S) in order to analyze a number or a variation of persons in the crowd attending the generic public happening S only during a sub-portion of the whole time duration of the generic public happening S.

FIG. 5 is a schematic view of a geographic Region of Interest 500, in the following simply denoted as RoI 500, which is a different entity with respect to the AoI 107 defined above and is not to be mistaken with the latter.

The RoI 500 is a selected geographic region within which a traffic analysis is performed in order to compute O-D matrices according to an embodiment of the present invention. For example, the RoI 500 may be either a district, a town, a city, or any other kind of geographic area. Moreover, the RoI 500 may comprise a number of sub-regions having non-adjacent geographical locations, such as for example a plurality of different cities, different counties and/or different nations (and so on).

It should be noted that the RoI 500 size and extent is not limited by the AoI 107 size and/or geographical location. Indeed, the RoI 500 may comprise a whole city in which the AoI 107 is located and/or a set of locations (such as for example airports, bus/train stations, etc.) within a selected range from the AoI 107 from which it is probable that flows of people towards/from the AoI 107 originate/are directed. Nevertheless, the AoI 107 may comprise a set of one or more nations from which people that are attending the public happening probably live (e.g., in case of public happenings of international relevance). Let be assumed, as non-limiting example, that a traffic analysis (e.g., an analysis of people flow) over the RoI 500 is performed in order to identifying movements of people that are attending the public happening being held in the AoI 107 and for computing O-D matrices referred to the movements of people identified by the traffic analysis.

The RoI 500 is delimited by a boundary, or external cordon 505. The RoI 500 is subdivided into a plurality of traffic analysis zones, or simply zones z_(q) (q=1, . . . , Q; where Q is an integer number, and Q>0) in which it is desired to analyze traffic flows. In the example shown in FIG. 5, the RoI 500 is subdivided into nine zones z₁, z₉ (i.e., Q=9).

Each zone z_(q) may be advantageously determined by using the already described zoning technique. According to this technique, each zone z_(q) may be delimited by administrative (city limits, National boundaries, etc.) and/or physical barriers (such as rivers, railroads etc.) within the RoI 500 that may hinder the traffic flow and may comprise adjacent lots of a same kind (such as open space, residential, agricultural, commercial or industrial lots) which are expected to experience similar traffic flows. It should be noted that the zones z_(q) may differ in size one another. Generally, each zone z_(q) is modeled as if all traffic flows starting or ending therein were concentrated in a respective single point or centroid 510 q (i.e., 510 ₁, . . . , 510 ₉). In other words, the centroid 510 q of the generic zone z_(q) represents an ideal hub from or at which any traffic flow starts or ends, respectively.

Anyway, it is pointed out that the solution according to embodiments of the present invention is independent from the criteria used to partition the RoI 500 into zones z_(q).

Considering now FIG. 6, an O-D matrix 600 corresponding to the RoI 500 is depicted. The O-D matrix 600 is referred to a respective time interval or time slot is of an observation time period TP, as described in greater detail in the following. It should be noted that the observation time period is generally different (e.g., greater than) from the observation time interval [Ts, Te] of the public happening.

The generic O-D matrix 600 is typically a square matrix having Q rows i and Q columns j. Each row and each column are associated with a corresponding zone z_(q) of the RoI 500; thus, in the example of FIG. 1, the O-D matrix 600 comprises nine rows i=1, . . . , 9 and nine columns j=1, . . . , 9.

Each row i represents an origin zone z_(i) for traffic flows of moving physical entities (for example land vehicles) while each column j represents a destination zone z_(j) for traffic flows of such moving physical entities. In other words, each generic element or entry od(i,j) of the O-D matrix 600 represents the number of traffic flows starting in the zone z_(i) (origin zone) and ending in the zone z_(j) (destination zone) in the corresponding time slot.

The main diagonal of the O-D matrix 600, which comprises the entries od(i,j) having i=j (i.e., entries od(i,j) having the same zone z_(i) both as origin and destination zone), is usually left empty (e.g., with values set to 0) or the values of the main diagonal entries od(i,j) are discarded since they do not depict a movement between zones of the region of interest (i.e., such entries do not depict a flow of people).

In the following it will be assumed, for the sake of simplicity and conciseness, that the AoI 107 is comprised within a happening zone z_(h) (wherein 1≦h≦Q) of the zones z_(q) in which the RoI 500 is subdivided. It should be noted that the AoI 107 does not necessarily correspond with the happening zone z_(h) by which it is comprised (i.e., the AoI 107 may be smaller than the happening zone z_(h)).

It should further be noted that, without departing from the scope of the invention, the AoI 107 may also extend at least partially over more than one zone z_(q) of the RoI 500 (for example in case of big public happenings, such as for example city festivals, it is possible to identify a plurality of happening zones within the RoI 500).

From the generic O-D matrix 600 it is possible to extract an O-D sub-matrix, denoted as Origin Matrix (OM), or O matrix 700 in the following, containing only the movements of people towards the AoI 107 (i.e., ended at the happening zone z_(h) that encloses the AoI 107). It should be noted that the O matrix 700 reduces to a vector in case the AoI 107 is comprised within a single happening zone z_(h) of the RoI 500.

For example in FIG. 7 it is shown an O-D sub-matrix 700 that contains the entries od(i,j) referred to movements from any one of the zones z_(q) of the RoI 500 towards (i.e., that ended at) the happening zone z_(h) within the time slot of the observation time period to which the generic O-D matrix 600 is referred.

As outlined above, in order to obtain a more detailed and reliable traffic analysis, a predetermined observation period TP of the traffic flows in the region of interest is also established and it is subdivided into one or more (preferably a plurality) of time slots ts_(m) (m=1, . . . , M, where M is an integer number, and M>0). Each time slot ts_(m) ranges from an initial instant t_(0(m)) to a next instant t_(0(m+1)) (excluded) which is the initial instant of the next time slot ts_(m+1), or:

ts_(m)=[t_(0(m),) t_(0(m−1))).

Anyway, embodiments of the present invention featuring overlapping time slots are not excluded. Also, the time slots ts_(m) into which the observation period is subdivided may have different lengths from one another.

For each one of the time slots ts_(m) a respective O-D matrix 600 m is computed that accounts for the movements that have taken place during the time slot ts_(m). Therefore, a sequence or O-D set 800 of M O-D matrices 600 m, as shown in FIG. 8, is obtained that provides information of movements of people from/to each one of the different zones z_(q) of the RoI 500.

The computing of the O-D matrices 600 m of the O-D set 800 is now described.

For any pair of consecutive event records er_(v) and er_(v+1) of a same UE recorded at two subsequent event times t_(k) and t_(k+1) within the observation period TP and at two distinct locations p_(k) and p_(k+1) each one associated with a respective zones z_(i) and z_(j) a movement of the UE owner it is identified.

If both the event times t_(k) and t_(k+1) belong to a same time slot ts_(m) of the observation period the entry od(i,j) of the O-D matrix 600 m of the set of O-D matrices associated with the time slot ts_(m) is increased by one unit, i.e. the movement is associated with the O-D matrix 600 m.

Conversely, if the event times t_(k) and t_(k+1) belong to different time slots ts_(m) and ts_(m+1) substantially three possible options are available for assigning values to the entries od(i,j) in the computing the O-D matrices 600 m:

1. the entry od(i,j) of the O-D matrix 600 m of the set 800 of O-D matrices associated with the time slot ts_(m) is increased by one unit, i.e. the movement is associated with the O-D matrix 600 m;

2. the entry od(i,j) of the O-D matrix 600 m+1 of the set 800 of O-D matrices associated with the time slot ts_(m+1) is increased by one unit, i.e. the movement is associated with the O-D matrix 600 m+1, or

3. the movement may be distributed between each one of the matrices 600 m-600 m+x of the set 800 associated with each one of the time slots ts_(m)-ts_(m+x) (where x≧1) comprising at least partially a movement time interval [t_(k), t_(k+1)] defined by the event times t_(k) and t_(k+1) (i.e., the event time t_(k) occurring during the time slot ts_(m) and the event time t_(k+1) occurring during the time slot ts_(m+x)). Preferably, the movement is associated in a proportional manner to each one of time slots ts_(m)-ts_(m+x), and consequently assigned to the corresponding matrices 600 m-600 m+x, according to a (time) portion of the movement time interval [t_(k), t_(k+1)] having taken place during each one of time slots ts_(m)-ts_(m+x).

For example, considering two (consecutive) time slots ts_(m) and ts_(m+1) comprising the movement time interval [t_(k), t_(k+1)], a first portion of the movement time interval [t_(k), t_(k+1)], e.g. 60% of [t_(k), t_(k+1)], falls in the time slot ts_(m) while the second portion of the movement time interval [t_(k), t_(k+1)], e.g. the remaining 40% of [t_(k), t_(k+1)], falls in the other time slot ts_(m+1), the entry od(i,j) of the O-D matrix 600 m is increased by 0.6, while the entry od(i,j) of the other O-D matrix 600 m+1 is increased by 0.4.

The first option privileges the initial time (t_(k)) at which a movement is started, the second option privileges instead the final time (t_(k+1)) of the movement, while the third option considers the duration of the movement time interval [t_(k), t_(k+1)].

Preferably, the administrator of the system 100 through the administrator interface 120 and/or the user of the system 100 through the user interface 125 may choose among the three options according to their needs.

Therefore, an origin set, or Oset, of a plurality of O matrices 700 m may be extracted from the O-D set 800 of O-D matrices 600, i.e. one O matrix 700 m for each one of the M O-D matrices 600 of the O-D set 800.

Preferably, in the embodiment of the present invention, the observation time period TP is defined as follows.

The observation time period TP preferably starts before the start time Ts of the generic public happening S.

For example, given the observation time interval [Ts, Te], the start of the observation time period TP precedes the start time Ts of the observation time interval [Ts, Te] by an origin time range Ho and ends at the end time Te of the observation time interval [Ts, Te] (i.e., TP=[Ts-Ho, Te]).

Advantageously, the origin time range Ho is set according to the relevance of the generic public happening S with which are associated. For example, for a generic public happening of local relevance the origin time range Ho may be set to a value comprised between 2 to 6 hours, while in case of a generic public happening having an international relevance the origin time range Ho may exceed 24 hours.

In addition, the origin time range Ho and the observation time period TP may be adjusted by the administrator of the system 100 through the administrator interface 120 and/or by the user through the user interface 125 according to any specific requirements.

In the considered example, the observation time period TP comprises six time slots ts_(m) (e.g., 1≦m≦6=M). Advantageously, each time slot ts_(m) has a respective length that is inversely proportional to an expected people flow intensity (i.e., proportional to a number of expected movements towards the AoI 107 in that time slot ts_(m) (e.g., the expected traffic density may be based on previous traffic analysis or estimation). For example, time slots having low expected traffic intensity (i.e., time slots farthest from the observation time interval [Ts, Te]), may be set to be 2 hours long, time slots having mid expected traffic intensity may be set to be 1 hours long and time slots having high expected traffic intensity (i.e., time slots closest to the observation time interval [Ts, Te]) may be set to be 0.5 hours long.

Therefore, by considering the observation time period TP for which the origin time range Ho is, e.g., 5 hours long (Ho=5 hr), the observation time period TP comprises six time slots ts_(m)′ having the following structure: ts₁=[Ts-5, Ts-3), ts₂=[Ts-3, Ts-2), ts₃=[Ts-2, Ts-1), ts₄=[Ts-1, Ts-0.5), ts₅=[Ts-0.5, Ts] and ts₆=[Ts, Te]. The last time slot ts₆ of the observation time period TP corresponds to the observation time interval [Ts, Te] selected for the generic public happening S and takes into account for movements taking place during the observation time interval [Ts, Te], which may be larger than the official duration of the generic public happening S as described above.

In addition, the administrator and/or the user of the system 100 may change the end of the observation time period TP, i.e. the end time Te in the considered example, during the course of the public happening S. For example, the end of the observation time period TP (i.e., the end time Te in the considered example) may be changed to an actual time instant in order to identify movement of people that are attending the public happening up to such actual time and therefore computing the O-D set 800 of O-D matrices 600 m and/or a Oset 900 of Omatrices 700 m accounting for movements up to the actual time.

Alternatively, the administrator and/or the user of the system 100 may set a plurality of different subsequent examination times within the observation time period TP in order to identify movements of people that are attending the public happening S up to each one of such examination times and therefore computing a respective O-D set 800 of O-D matrices 600 m and/or a respective O set 900 of O matrices 700 m accounting for movements up to each one of such examination times. Advantageously, this allows to provide an insight regarding trends of the movements of the attendees at the public happening S within the observation time period TP.

Anyway, it is pointed out that the solution according to embodiments of the present invention is independent from criteria applied for partitioning the observation period into time slots.

Preferably, the number and time extent of the time slots ts_(m) comprised in the observation time period TP may be adjusted by the administrator of the system 100 through the administrator interface 120 and/or by the user through the user interface 125 according to any specific requirements.

Considering FIG. 9, it shows a set 900 of O matrix 700 m of the type of the O matrices 700 described with respect to FIG. 7 referred to the RoI 500 and to a generic public happening S being held in the zone z_(h), wherein any one of the Omatrices 700 m of the set 900 is calculated for a corresponding time slot ts_(m) of the plurality of time slots comprised into the observation time period TP.

In the considered example, the set 900 of O matrices 700 m, comprises six O matrices 700 ₁-700 ₆, each one referred to a corresponding one time slot ts₁-ts₆ comprised in the origin observation time period TP.

The set 900 of O matrices 700 m accounts for the flows of people towards (i.e., movements ended at) the AoI 107 during the observation time period TP which is the observation period within which people that are attending the show gathered (or are gathering) at the AoI 107.

Having described the system 100, time (i.e., the start time Ts and the end time Te) and spatial (i.e., the AoI center C and AoI radius Ra of the AoI 107) characteristics of a generic public happening S, the structure of a set 800 of O-D matrices 600 m of the movements related to the generic public happening S, and the set 900 of O matrices 700 m, an algorithm for identifying and analyzing the traffic flows of people that are attending at the generic public happening S (i.e., for identifying and analyzing movements and computing O matrices (or O-D matrices) related to people attending the public happening S) according to an embodiment of the present invention will be now described, by making reference to FIGS. 10A-10F, which are a schematic block diagram thereof.

A first portion of the crowd estimation algorithm is configured to determine the optimum radius value Ro for the AoI radius Ra of the AoI 107 on the basis of the data regarding the public happening S considered.

Initially (step 1002) the AoI center C, the observation day g and the start time Ts and end times Te of the (generic) public happening S are inputted to the system 100, e.g. by a user through the user interface 125 or by the administrator through the administrator interface 120.

Afterwards (step 1004), an iteration variable k is initialized to zero (i.e., k=0) and a calculated radius value Rk is initially set to the minimum radius value Rmin (i.e., Rk=Rmin). The iteration variable k accounts for the number of iterations of the first portion of the algorithm.

Next (step 1006), the relevant cells 405 a-d for the AoI 107 having a AoI radius Ra equal to the calculated radius value Rk (Ra=Rk) are identified by means of the inequality (1) as described above.

Afterwards (step 1008), a total radius Rtotk is computed by combining the radii Rc of the relevant cells 405 a-d identified at previous step 1006:

Rtotk=Σ_(r)Rcr,   (4)

where Rcr denotes the radius of the r-th relevant cell 405 a-d (1≦r≦R, R being a positive integer identified at step 1006.

All the event records er_(v) referred to the observation day g during an observation time interval [Ts, Te] and having taken place within the relevant cells 405 a-d determined at step 1006 are retrieved (step 1010) from the repository 115.

Subsequently (step 1012), a first UE number Uk is computed as the number of UEs corresponding to (i.e. being associated with) at least one event record er_(v) among the event records er_(v) referred to relevant cells 405 a-d that have been retrieved at previous step 1006 is computed (the first UE number Uk depends on the relevant cells and, therefore, on the calculated radius value Rk).

In one embodiment of the invention, to achieve a reliable identification of UE owned by persons that are attending the public happening S, a set of P previous days gp (where 1≦p≦P and P is an integer number) preceding the observation day g are considered. The number P of previous days gp considered is preferably set by the administrator (through the administrator interface 120). In an embodiment of the present invention, the administrator sets the number P of previous days gp on the basis of the storing capabilities of the repository 115 (i.e., in order to be able to store all the data regarding the P previous days gp) and/or on the basis of computational capabilities of the computation engine 110 (i.e., in order to be able to process all the data regarding the P previous days gp). Preferably, the administrator sets the number P of previous days gp also on the basis of a statistical analysis of past public happenings of the same kind (i.e., cultural, entertaining, politics or sport public happenings).

The Applicant has found that by setting the number P of previous days gp equal to 6 (i.e., P=6) provides good results for most kind of public happenings (although this should not be construed as limitative for the present invention).

Therefore, all the event records er_(v)′ referred to the P previous days gp preceding the observation day g during the observation time interval [Ts, Te] and having taken place within the relevant cells determined at step 1006 are retrieved (step 1014) from the repository 115.

Then (step 1016), a second UE number Upk is computed for each one of the previous days gp as the number of UEs corresponding to at least one event record er_(v)′ among the event records er_(v)′ referred to relevant cells 405 a-d that have been retrieved at previous step 1006 (the second UE number Upk depends on the relevant cells and, therefore, on the calculated radius value Rk).

The second UE number Upk just computed are combined (step 1018) in order to determine an average UE number μk (with

$\left. {{\mu \; k} = {\sum\limits_{p = 1}^{P}\; {Upk}}} \right)$

and a UE number standard deviation σk (with

$\left. {{\sigma \; k} = \sqrt{\frac{\sum\limits_{p = 1}^{P}\; \left( {{Upk} - {\mu \; k}} \right)^{2}}{P}}} \right)$

of the UE number within the relevant cells during the P previous days gp considered.

The average UE number μk and the UE number standard deviation σk are combined (step 1020) with the first UE number Uk in order to obtain a (statistical) quantity defined z-score Zk (which depends on the calculated radius value Rk):

Zk=(Uk−μk)/σk.   (5)

The z-score Zk just computed is normalized (step 1022) with respect to the total radius Rtotk computed at step 1008:

Z′k=Zk/Rtotk   (6)

Next, the variable k is increased by unity (step 1024; i.e., k=k+1) and the calculated radius value Rk is increased (step 1026):

Rk=Rmin+kΔ,   (7)

where Δ is an iteration step or width that may be defined by the administrator (e.g., Δ=100 m), thus each calculated radius value Rk is separated from the next calculated radius value by an iteration width Δ. It should be noted that the iteration width Δ defines a maximum iteration value kmax for the iteration variable k—and, therefore, a maximum number of iterations for determining the optimum radius value Ro—as:

kmax=(|Rmin|+Rmax)/Δ.   (8)

It should be noted that the iteration width Δ may be used by the system administrator to adjust a granularity (i.e., fineness) with which the optimum radius value Ro is determined, i.e. the smaller the iteration width Δ set by the administrator the higher the number of iterations defined by the maximum iteration value kmax and, thus, the finer a granularity of the algorithm.

In an embodiment of the present invention, since the minimum radius value Rmin is set to −1500 m, the maximum radius value Rmax is set to 1500 m and the iteration width Δ is set to 100 m the maximum iteration value kmax for the iteration variable k results to be equal to 30 and, therefore, the maximum number of iterations for determining the optimum radius value Ro is limited to 30.

Afterwards, it is checked (step 1028) whether the calculated radius value Rk is lower than, or equal to, the maximum radius value Rmax:

Rk≦Rmax.   (9)

In the affirmative case (exit branch Y of decision block 1028), i.e. the calculated radius value Rk is lower than, or equal to, the maximum radius value Rmax (i.e., Rk≦Rmax) operation returns to step 1006 for starting a new iteration of the first portion of the algorithm based on the calculated radius value Rk just increased (at step 1026) by a further k-th iteration width Δ.

In the negative case (exit branch N of decision block 1028), i.e. the calculated radius value Rk is greater than the maximum radius value Rmax (i.e., Rk>Rmax), the optimum radius value Ro is computed (step 1030) as the average of the computed radius values Rk (with 1≦k≦kmax) weighted by the normalized z-score Z′k computed at or:

$\begin{matrix} {{Ro} = {\frac{\sum\limits_{k}\; {{{Rk} \cdot Z^{\prime}}k}}{\sum\limits_{k}\; {Z^{\prime}k}}.}} & (10) \end{matrix}$

The steps 1006 to 1028 of the first portion of the algorithm are iterated until the calculated radius value Rk is greater than the maximum radius value Rmax (i.e., Rk>Rmax), and the optimum radius value Ro is computed (at step 1030).

With the computation of the optimum radius value Ro at step 1030 the first portion of the algorithm ends and a second portion of the algorithm starts (at step 1032, described in the following). At the end of the first portion of the algorithm, the AoI 107 is properly defined by the AoI center C and by the AoI radius Ra set equal to the optimum radius value Ro (Ra=Ro).

The second portion of the algorithm according to an embodiment of the present invention is configured for identifying the movements and computing O matrices (or O-D matrices) related to people attending public happening S.

Initially (step 1032) in the system 100, e.g. by a user through the user interface 125 or by the administrator through the administrator interface 120, the RoI 500 (with the zones z_(q) by which it is defined), the observation time period TP for the public happening S together with the respective time slots ts_(m) are defined. Possibly, also the option (described above) for assigning the movements in the set 900 of O matrices 700 m is selected.

In other embodiment of the invention, the step 1032 just described may be included in the previously described step 1002, in order to reduce a data entry phase to a single (initial) step. After the optimum radius value Ro has been computed at step 1030, a set of actually relevant cells 405 a-d is defined (step 1034). This set includes all the cells 105 b of the mobile communication network 105 for which inequality (1) is verified when the AoI radius Ra is set equal to the optimum radius value Ro, or:

Dist(C, B)≦|Rc+Ro|.   (11)

Next (step 1036), the AoI 107 is associated with one (in the considered example) of the Q zones z_(q) of the RoI 500, i.e. the happening zone z_(h). Preferably, the happening zone z_(h) is selected as the zone z_(q) of the RoI 500 which comprises the AoI center C. Alternatively, the happening zone z_(h) is the zone z_(q) of the RoI 500 which comprises at least a selected portion of the AoI 107 (e.g., a portion greater than the 50% of the AoI 107 with Ra=Ro).

Then (step 1038), all the event records er_(v) referred to the observation day g during the observation time interval [Ts, Te] and having taken place within the actually relevant cells 405 a-d determined at step 1034 are retrieved from the repository 115.

Subsequently (step 1040), a UE list uL is built. The UE list uL comprises an identifier of each UE corresponding to at least one event record er_(v) among the event records er_(v) referred to relevant cells that have been retrieved at previous step 1034.

The UE list uL provides a first estimation of possible attendees at the public happening S, i.e. the owners of the UE comprised in the UE list uL. Therefore, in a simplified embodiment of the invention, the algorithm may simply compute the UE list uL for the public happening S and provide the resulting UE list uL to the user through the user interface 125.

Once the UE list uL has been built, a UE variable u is initialized to unity (i.e., u=1) and the O matrices 700 m are build with all the respective entries od(i,j) set to zero (step 1042). The UE variable u is used for scanning all the user comprised in the UE list uLn.

All the event records er_(v)′ referred to a UE UEu of the UE list uL recorded in each one of the P previous days gp during observation time interval [Ts, Te] and having taken place within any one of the cells 105 b of the mobile communication network 105 are retrieved (step 1044) from the repository 115.

Then (step 1046), an average intermediate arrival time iat between consecutive event records er_(v) is computed for the UE UEu. In one embodiment of the invention, intermediate arrival times for the UE UEu are computed as the difference between time data (i.e., timestamps) of two consecutive event records er_(v). Preferably, the average intermediate arrival time iat is computed on the basis of event records er_(v) and er_(v)′ recorded during the observation day g retrieved at step 1038 and the P previous days gp retrieved at step 1044.

A first event record er₁ and a last event record er₁ referred to the observation day g during the observation time interval [Ts, Te] and having taken place within the actually relevant cells 405 a-d determined at step 1034 are identified for the UE UEu (step 1048) and a respective first observation time data td_(f) and last observation time data td₁ are retrieved (step 1050) therefrom.

The first observation time data td_(f), the last observation time data td₁ and the average intermediate arrival time iat are combined (step 1052) in order to determine a first time fraction f1 the UE UEu has spent within the AoI 107 in the observation day g during the observation time interval [Ts, Te]:

$\begin{matrix} {{f\; 1} = \frac{{{td}_{I} - {td}_{f} + {iat}}}{{Te} - {Ts}}} & (12) \end{matrix}$

Subsequently, a first event record er_(f′) and a last event record er_(r) ^(1′) among all the event records er_(r) ^(v′) referred to the P previous observation days gp during the observation time interval [Ts, Te] and having taken place within the actually relevant cells 405 a-d determined at step 1034 are identified for the UE UEu (step 1054) and a respective first previous time data tdp₁ and last previous time data tdp₁ are retrieved (step 1056) therefrom.

The first previous time data tdp_(f), the last previous time data tdp₁ and the average intermediate arrival time iat are combined (step 1058) in order to determine a second time fraction f2 the UE UEu has spent within the AoI 107 during the P previous day gp:

$\begin{matrix} {{{f\; 2} = \frac{{{tdp}_{I} - {tdp}_{f} + {iat}}}{Tgp}},} & (13) \end{matrix}$

where Tgp is a total duration of the P previous days gp, which may be computed for example in seconds, minutes or hours according to the time unit (i.e., seconds, minutes or hours: for example, if the considered time unit is one hour, Tgp=P×24) used for time quantities (such as for example the first previous time data tdp_(f), the last previous time data tdp₁ and the average intermediate arrival time iat) in the algorithm.

Afterwards (step 1060), a person probability pu that the owner of the UE UEu is attending the public happening S is computed by combining the first time fraction f1 and the second time fraction f2:

Pu=f1*(1−f2).   (14)

Therefore, the first time fraction f1 and the second time fraction f2 may be considered as probabilities. Namely, the first time fraction f1 may be construed as the probability that the owner of the UE UEj has been in the AoI 107 during the public happening S, while the second time fraction f2 may be construed as the probability that the owner of the UE UEj has been in the AoI 107 during the previous days gp.

Next (decision block 1062), the event records er_(v) recorded during the observation time period TP are considered. For each UE UEu, it is searched (block 1064) a previous event record er₀ directly preceding the first event record er₁ in the observation day g and recorded by a cell 105 b of the mobile communication network 105 different from the actually relevant cells 405 a-d determined at step 1034 (i.e., outside the AoI 107).

If the previous event record er₀ is not found (exit branch N of decision block 1064) the algorithm skips to step 1072 described in the following.

Conversely, if the previous event record er₀ is found (exit branch Y of decision block 1064) a previous time data td₀ and a previous position p₀ associated with the previous event record er₀ (step 1066) are retrieved (e.g., from the information contained in the event record er₀ itself).

Then (decision block 1068), it is searched for a previous zone z₀ among the zones z_(q) of the RoI 500 that comprises the previous position p₀ associated with the previous event record er₀.

If the previous zone z₀ is not found (exit branch N of decision block 1068) the algorithm skips to step 1072 described in the following.

Conversely, if the previous zone z₀ is found (exit branch Y of decision block 1068) a movement between the previous zone z₀ and the happening zone z_(h) is identified (step 1070), provided that the previous zone z₀ is different from the happening zone z_(h) (z₀≠z_(h)). The movement is assigned to the entry od(0, h) of the corresponding O matrix 700 m or distributed between a plurality of entries od(0, h) of the corresponding O matrices 700 m referred to time slots ts_(m) comprised in a movement time interval [td₀, td_(f)] delimited by the previous time data td₀ and the first time data td_(f) according to the option selected for assigning the identified movements to the O matrices 700 m.

Preferably, in the embodiment of the present invention, the entry/entries od(0, h) of the corresponding O matrix/matrices 700 m is not simply increased by unity or by an amount proportional to the part of each time slot ts_(m,) comprised in the movement time interval [td₀, td_(f)], but it is also combined with, e.g. multiplied by, the person probability pu that the owner of the UE UEu is attending the public happening S computed at step 1060. In other words the entry/entries od(0, h) of the corresponding O matrix/matrices 700 m is the combination, the sum in the considered example, of the person probability pu that the owner of the UE UEu, for which a movement between the previous zone z₀ and the happening zone z_(h) is identified, is also attending the public happening S.

In this way, each entries provide a statistical information about as the probability that the owner of the UE UEu, which generated the considered previous event record er₀, has moved into the AoI 107 for attending the public happening S.

The UE variable u is increased by unity (step 1072; i.e., u=u+1) and it is checked (step 1074) whether UE variable u is lower than, or equal to, a total number of listed user U (where U is an integer number) listed in the UE list uL:

u≦U.   (16)

In the affirmative case (exit branch Y of decision block 1074), i.e. the UE variable u is lower than, or equal to, the number U of listed user U (u≦U), the algorithm returns to step 1044 for analyzing the event records er_(v) referred to the next UE UEu.

In the negative case (exit branch N of decision block 1074), i.e. the UE variable u is greater than the total number of listed user U (u>U) and the UE list uL has been completely scanned. Therefore, the movements and the O set 900 of O matrices 700 m referred to the public happening S being held are stored (step 1076) in the repository 115

Preferably, the algorithm is terminated with the provision (step 1078) of the results, i.e. the O set 900 of M O matrices 700 m, and possibly, the UE lists uL and the respective first and second time fractions f1 and f2 for each UE of the UE lists uL, to the user through the user terminal 125 for inspection and/or further processing.

The steps 1044 to 1074 of the second portion of the algorithm are iterated until all the UE UEu of the UE list uL have been analyzed and thus the algorithm is terminated (at step 1078) with the provision of the results to the user through the user terminal 125.

In summary, the algorithm for identifying and analyzing traffic flows of people that are attending a public happening S comprises a first portion and a second portion.

The first portion of the algorithm for identifying and analyzing traffic flows of people that are attending a public happening S comprises a first cycle that scans (steps 1006-1028) all the computed radius values Rk between the minimum radius value Rmin and the maximum radius value Rmax. For each computed radius value Rk respective relevant cells 405 a-d and a normalized z-score Z′k are determined. On the basis of such data (i.e., respective relevant cells 405 a-d and the normalized z-score Z′k) the optimum radius value Ro is identified. At the end of the first portion of the algorithm for identifying and analyzing traffic flows of people that are attending a public happening S, the AoI 107 having the optimum radius value Ro is defined.

The second portion of the algorithm for identifying and analyzing traffic flows of people that are attending a public happening S comprises a second cycle that scans (steps 1044-1074) all the UE UEu that generated an event record er_(v) in at least one relevant cell 405 a-d (i.e., the AoI 107) during the observation time interval [Ts, Te] in the observation day g. For each UE UEu, it is determined a probability (i.e., the first time fraction f1) that the UEu is within one or more of the relevant cells 405 a-d comprised within the AoI 107 having the AoI radius Ra equal to the optimum radius value Ro during the observation time interval [Ts, Te] on the observation day g of the public happening S and a further probability (i.e., the second time fraction f2) that the UEu has been within the same AoI 107 during the P previous days gp. On the basis of the knowledge of this two probabilities (i.e. time fractions f1 and f2) it is determined the person probability pu that the owner of the UE UEu is attending the public happening S. Subsequently, the positions in the RoI 500 for each UE UEu which owner is in the crowd attending the public happening S before the observation time interval [Tsn, Ten] on the observation day g of the public happening S and outside the AoI 107 are determined and the O set 900 of O matrices 700 m is computed accounting for movements to the AoI 107.

It should be noted that the algorithm described above may undergo several modification, e.g. similar steps with the same functions may substitute several steps or portions thereof, some non-essential steps may be removed, or additional optional steps may be added, the steps may be performed in different order, in parallel or overlapped (at least in part), without departing from the scope of the present invention.

For example, in another embodiment of the present invention, all the movements of the UE owners that are in the crowd that is attending the public happening S may be traced within the RoI 500 during the observation time period TP. In this case, event records preceding the previous event record er_(v) will be considered as well. Then also the movements of the UE owners that are in the crowd that is attending the public happening S to the previous zone from others zones z_(q) of the RoI during the observation time period TP are identified. This can be achieved by sequences of steps substantially equivalent to steps 1062-1070: for each consecutive event records a movement is identified between the two zones comprising the position indicated in such consecutive event records and corresponding entries of the O matrices are increased according to the options selected for assigning values to the entries of the O matrices and according to the person probability pu associated with the UE owner of the UE UEu that generated the event records. It should be noted that this lead to compute O matrices having the same size of the O-D matrices (i.e., having Q rows, and Q columns), and able to provide information of the flows of people that are attending the public happening S within the whole RoI 500.

The system 100 and the algorithm for identifying and analyzing traffic flows of people that are attending a public happening S according to an embodiment of the present invention allow a real-time computing of mobility matrices, i.e. O matrices 700 m or O-D matrices 600 m, referred to movements of persons that gathers at a public happening S in a reliable way and to properly identify (by determining the optimum radius value Ro) an effective extension of AoI 107 associated with the public happening S. 

1. A method of estimating flows of persons gathering at an Area of Interest (107) for attending a public happening during a time interval on a day, wherein said Area of Interest (107) is defined by an Area of Interest center and an Area of Interest radius and is covered by a mobile telecommunication network (105) having a plurality of communication stations (105 a) each of which adapted to manage communications of user equipment in one or more served areas (105 b) in which the mobile telecommunication network (105) is subdivided, the method comprising the steps of: a) defining a plurality of calculated radius values of the Area of interest radius, and, for each calculated radius value: b) identifying (1006) a number of relevant served areas (405 a-d) among the served areas (105 b) comprised in the Area of Interest (107); c) identifying (1010,1012) a first number of user equipment associated with at least one event record of a corresponding event of interaction occurred between the user equipment and the mobile communication network (105) during the time interval on the day of the public happening within the Area of Interest (107); d) identifying (1014,1016) a second number of user equipment associated with at least one event record of a corresponding event of interaction occurred between the user equipment and the mobile communication network (105) during the time interval for each one of a predetermined number of previous days preceding the day of the public happening within the Area of Interest (107); e) combining (1018,1020) the first number of user equipments and the second numbers of user equipments for obtaining a statistical quantity; f) computing (1022) a normalized statistical quantity by normalizing the statistical quantity with respect to the radii of the relevant served areas (405 a-d); g) computing (1030) an optimum radius value of the Area of Interest radius as the average of the calculated radius values weighted by the normalized statistical quantity; h) identifying (1032-1060) persons gathering for attending the public happening within an Area of Interest having the Area of Interest radius equal to the optimum radius values during the time interval on the day within the Area of Interest (107) based on a first time fraction indicating a probability that the user equipment has been in the Area of Interest (107) during the time interval on the day and on a second time fraction indicating a probability that the user equipment has been in the Area of Interest (107) during the previous days; i) computing (1062-1070) at least one matrix (700 m) accounting for movements of persons identified at step h) within a Region of Interest (500) comprising the Area of Interest (107) to the Area of Interest (107) during at least one observation time period comprising the time interval.
 2. The method according to claim 1, wherein the step i) of computing (1062-1070) at least one matrix (700 m) accounting for movements of persons identified at step h) within a Region of Interest (500) comprising the Area of Interest (107) to the Area of Interest (107) during at least one observation time period comprising the time interval, comprises: j) subdividing the Region of Interest (500) into at least two zones; k) associating a first zone of the at least two zones with the Area of Interest (107), the first zone comprising at least partially the Area of Interest (107); l) subdividing the at least one time period into one or more time slots, and m) identifying a number of persons that moved from a second zone of the at least two zones to the first zone comprising at least partially the Area of Interest (107) during each one of the one or more time slots of the at least one observation time period.
 3. The method according to claim 2, wherein the step m) of identifying a number of persons that moved from a second zone of the at least two zones to the first zone comprising at least partially the Area of Interest (107) during each one of the one or more time slots of the at least one observation time period, comprises: identifying as the second zone as the zone of the Region of Interest (500) that comprises a previous position associated with a previous event record of a corresponding previous event of interaction occurred between the user equipment and the mobile communication network (105) during the observation time period on the day within the Region of interest (107), the previous event record being recorded before a first event record of a corresponding first event of interaction occurred between the user equipment and the mobile communication network (105) during the time interval on the day within the Area of Interest (107).
 4. The method according to claim 3, wherein the step h) of computing at least one matrix (700 m) accounting for movements of persons identified at step h) within a Region of Interest (500) comprising the Area of Interest (107) to the Area of Interest (107) during at least one observation time period comprising the time interval, further comprises: n) computing an origin matrix (700 m) for each one of the one or more time slots in which the at least one time period has been subdivided, each entry of the origin matrix (700 m) being indicative of the number of persons that, during the corresponding time slot, moved to the first zone comprising at least partially the Area of Interest (107) from the second zone of the at least two zones.
 5. The method according to claim 4, wherein the step n) of computing an origin matrix (700 m) for each one of the one or more time slots in which the at least one time period has been subdivided, each entry of the origin matrix (700 m) being indicative of the number of persons that, during the corresponding time slot, moved to the first zone comprising at least partially the Area of Interest (107) from the second zone of the at least two zones, comprises: increasing a value of the entry indicative of persons that moved from the second zone of the at least two zones to the first zone comprising at least partially the Area of Interest (107) of the origin matrix (700 m) associated with a time slot comprising a previous time data associated with the previous event record.
 6. The method according to claim 4, wherein the step n) of computing an origin matrix (700 m) for each one of the one or more time slots in which the at least one time period has been subdivided, each entry of the origin matrix (700 m) being indicative of the number of persons that, during the corresponding time slot, moved to the first zone comprising at least partially the Area of Interest (107) from the second zone of the at least two zones, comprises: increasing a value of the entry indicative of persons that moved from the second zone of the at least two zones to the first zone comprising at least partially the Area of Interest (107) of the origin matrix (700 m) associated with a time slot comprising a first time data associated with the first event record.
 7. The method according to claim 4, wherein the step n) of computing an origin matrix (700 m) for each one of the one or more time slots in which the at least one time period has been subdivided, each entry of the origin matrix (700 m) being indicative of the number of persons that, during the corresponding time slot, moved to the first zone comprising at least partially the Area of Interest (107) from the second zone of the at least two zones, comprises: identifying a movement time interval delimited by a previous time data associated with the previous event record of the corresponding previous event and a first time data associated with the first event record of the corresponding first event, and increasing a value of the entry indicative of persons that moved from the second zone of the at least two zones to the first zone comprising at least partially the Area of Interest (107) of the origin matrices (700 m) associated with time slots at least partially comprised in the movement time interval.
 8. The method according to claim 2, wherein the step h) of identifying persons gathering for attending the public happening within an Area of Interest having the Area of Interest radius equal to the optimum radius values during the time interval on the day within the Area of Interest (107) based on a first time fraction indicating a probability that the user equipment has been in the Area of Interest (107) during the time interval on the day and on a second time fraction indicating a probability that the user equipment has been in the Area of Interest (107) during the previous days for each user equipment identified at step b), comprises estimating a probability that each person is attending the public happening, for each person associated with a respective user equipment of the first number identified at step c), based on the first time fraction and the second time fraction.
 9. the method according to claim 8, wherein the step m) of identifying a number of persons that moved from a second zone of the at least two zones to the first zone comprising at least partially the Area of Interest (107) during each one of the one or more time slots of the at least one observation time period, comprises: computing the number as a combination of the probabilities of each persons that moved from a second zone of the at least two zones to the first zone comprising at least partially the Area of Interest (107) during each one of the one or more time slots of the at least one observation time period is attending the public happening.
 10. The method according to claim 2, wherein the step j) of subdividing the Region of Interest (500) into at least two zones, comprises: subdividing the Region of Interest (500) into a plurality of zones, and wherein the step m) of identifying a number of persons that moved from a second zone of the at least two zones to the first zone comprising at least partially the Area of Interest (107) during each one of the one or more time slots of the at least one observation time period, comprises: identifying a number of persons that moved from each zone of the plurality of zones to the first zone comprising at least partially the Area of Interest (107) during each one of the one or more time slots of the at least one observation time period.
 11. A system (100) coupled with a wireless telecommunication network (105) for estimating flows of persons gathering at an Area of Interest (107), the system comprising: a computation engine (110) adapted to process data retrieved from a mobile telephony network (105); a repository (115) adapted to store data regarding interactions between the user equipment and the mobile telephony network, computation results generated by the computation engine and, possibly, any processing data generated by and/or provided to the system, and an administrator interface (120) operable for modifying parameters and/or algorithms used by the computation engine and/or accessing data stored in the repository, characterized by further comprising a memory element (110 a) storing a software program product configured for implementing the method of claims 1 through the system (100).
 12. The system according to claim 11, further comprising at least one user interface (125) adapted to receive inputs from, and to provide output to a user of the system, the user comprising one or more human beings and/or one or more external computing systems subscriber of the services provided by the system (100). 